package com.Exception异常;

/**
 * 作    者 ：吾路巴尼
 * 创建时间 ：2025/2/18-21:47
 */
public class ExceptionExercise02 {
    public static void main(String[] args) {
        // 调用method方法并打印返回值
        System.out.println(method());
    }

    public static int method() {
        int i = 1;
        try {
            i++; // i自增，i变为2
            String[] str = new String[3]; // 创建一个长度为3的字符串数组，未初始化，str[i]为null
            if (str[1].equals("hello")) // 检查str[1]是否为"hello"，由于str[1]为null（空），会抛出NullPointerException被捕获
                System.out.println(str[1]);
            return 1;
        } catch (NullPointerException e) {
            // 捕获空指针异常，i的值（2），然后i自增为3
            return i++;/**i++后变成3，然后把i保存到临时变量temp中 即temp=i；然后执行完finally后返回temp变量；*/
            /**简单理解为return 3 不会立马执行，如果finally没有return语句，那么等finally执行完后才返回 return 3*/
        } finally {
            i++;
            System.out.println("finally中的i = " + i);


        }
    }
}
